Process control systems typically include numerous sets of equipment that are used to carry out certain manufacturing or other control processes. The sets of equipment are coupled to controllers that include process control software instructions for manipulating the equipment in certain manners to effectuate the manufacturing or control processes. Process control software may be arranged in phases, which may be generically related to various types of process steps. For example, a mixing phase may be associated with hardware that carries out a mixing step of a process.
However, due to the generic nature of phases, phases must be modified or customized based on the particulars of the step that they are to execute. For example, a mixing phase, which is generally adapted to operate mixing equipment, must be customized to operate a particular piece of mixing equipment for particular time durations at particular speeds. Recipes are commonly used to customize or modify phases. As the name implies, recipes are sets of instructions downloaded to process control hardware for carrying out specific tasks such as, for example, making cookies, producing pharmaceuticals or controlling other processes. Recipes are typically more specific than phases and, in fact, include the use of phases therein. For example, a cookie-making recipe may include a mixing step that could be carried out by a mixing phase. However, in contrast to the mixing phase, the cookie making recipe specifies the duration and speed at which mixing should be carried out. Accordingly, the recipe specifies the parameters that define the operation of the mixing phase.
As will be readily appreciated, altering a recipe executed by a process control system could drastically affect the operation of the process control system. For example, altering a chocolate chip cookie recipe could affect the number of chocolate chips used in the cookie dough, the consistency of the cookie dough or the baking time for the cookies. Accordingly, downloading a recipe that has been accidentally altered or otherwise changed in an unauthorized manner could detrimentally affect the output of a process control system, resulting in products that do not comply with product specifications and, as a result, lost profits.
While the alteration of a recipe for products such as cookies may yield cookies that are obviously flawed (e.g., not thoroughly cooked, not enough chocolate chips, etc.), not all recipe alterations will result in products with immediately perceptible flaws. For example, cookies having too much salt may not be easily discovered during the production process. Consumers, however, may notice the saltiness of the cookies and may complain to the manufacturer, which may then determine that the recipe for the cookies was altered in an unacceptable manner. Despite the fact that some consumers may be upset, the consequences of an unauthorized alteration of a cookie recipe are not life threatening.
While, in some cases like cookie production, unauthorized recipe alteration may, at worst, lead to consumer dissatisfaction, unauthorized alteration of recipes used in, for example, pharmaceutical production may have more serious implications. A recipe alteration that changes the quantities or constituents of a drug may render the resulting drug ineffective or toxic. Additionally, the alteration of drug constituents is not, unlike the quantity of chocolate chips in a cookie, readily detectable because the drug may appear to have the same color and consistency as an unaltered or properly manufactured drug.
Further, many recipes involve significant investment in production capacity, time and/or material and, thus, having to scrap a recipe in progress may have a substantial adverse financial impact on the entity carrying out the recipe as well as any other entities that expect to receive product output from execution of the recipe. For example, recipes for making products that involve fermentation such as wine, beer, cheese, etc. often require weeks or months of process time as well as substantial material investments.
Typically, recipes for process control systems, as well as other software modules or objects such as units, phases, etc. are written by an engineer or scientist who requests various entities such as, for example, research or production groups, to approve the recipe or other software before it is downloaded to the process control system. However, the approval process for process control system software is, at best, typically carried out by circulating a memorandum or a request for approval or, at worst, even more informal. Additionally, there is rarely an impediment, other than a working knowledge of the process control system and the recipes and other software objects implemented therein, to prevent downloading unapproved software to the process control system.